/**
 * 添加或修改配件信息
 * 
 * @param {}
 *            fixingId
 * @param {}
 *            title
 * @return {}
 */
function addOrUpdFixing(fixingId, title) {
	var addOrUpdateFixingForm = new Ext.form.FormPanel({
		id : 'addOrUpdateFixingForm',
		frame : true,
		// layout : "form",
		buttonAlign : 'center',
		monitorValid : true,
		bodyBorder : false,
		fileUpload : true,// 上传文件设置为true
		reader : new Ext.data.JsonReader({
					success : 'success',
					root : 'data'
				}, [{
							name : 'id'
						}, {
							name : 'fixingName'
						}, {
							name : 'fixingCode'
						}, {
							name : 'fixingPicture'
						}, {
							name : 'fixingPrice'
						}, {
							name : 'fixingUnits'
						}, {
							name : 'describes'
						}, {
							name : 'isOptional'
						}, {
							name : 'optionalRange'
						}, {
							name : 'sort'
						}, {
							name : 'createdDate'
						}, {
							name : 'createdName'
						}, {
							name : 'updatedDate'
						}, {
							name : 'updatedName'
						}, {
							name : "fixingMultiple"
						}, {
							name : "fixingType"
						}]),
		items : [{
					xtype : 'hidden',
					id : 'fixingForm_id',
					name : 'id'
				}, {
					xtype : 'textfield',
					id : 'fixingForm_fixingName',
					fieldLabel : "<span style='color:#F00'>*</span>配件名称",
					allowBlank : false,
					name : "fixingName"
				}, {
					id : 'fixingForm_fixingType',
					xtype : 'dataDictionaryCmb',
					hiddenName : 'fixingType',
					autoLoad : false,
					anchor : '100%',
					fieldLabel : "<span style='color:#F00'>*</span>配件类型",
					allowBlank : false,
					editable : false,
					blankText : '配件类型不能为空',
					dictionaryType : PmsUtil.fixing_type,
					listeners : {
						'select' : function(obj) {
							if (obj.value == "1") {
								Ext.getCmp('fixngForm_fixingPrice')
										.setValue(PmsUtil.Price(0));
								Ext.getCmp('fixngForm_fixingPrice')
										.setDisabled(true);
							} else {
								Ext.getCmp('fixngForm_fixingPrice')
										.setDisabled(false);
								Ext.getCmp('fixngForm_fixingPrice')
										.setValue("");
							}
						}
					}
				}, {
					id : 'fixngForm_fixingPrice',
					xtype : 'numberfield',
					anchor : '100%',
					fieldLabel : "<span style='color:#F00'>*</span>配件价格",
					allowBlank : false,
					name : "fixingPrice",
					allowNegative : false, // 禁用负数
					renderer : function(value) {
						return PmsUtil.Price(value);
					}
				}, {
					xtype : 'dataDictionaryCmb',
					id : 'fixingForm_fixingUnitsCmb',
					anchor : '100%',
					fieldLabel : "<span style='color:#F00'>*</span>配件单位",
					editable : false,
					autoLoad : true,
					allowBlank : false,
					defaultFirstRow : 1,
					hiddenName : 'fixingUnits',
					dictionaryType : PmsUtil.fixing_units
				}, {
					id : 'fixingForm_fixingMultiple',
					xtype : 'numberfield',
					anchor : '100%',
					fieldLabel : "<span style='color:#F00'>*</span>配件单位倍数",
					allowBlank : false,
					name : "fixingMultiple",
					minValue : 1,
					allowDecimals : false,// 禁用小数
					allowNegative : false
					// 禁用负数
			}, {
					xtype : 'dataDictionaryCmb',
					id : 'fixingForm_isOptionalCmb',
					anchor : '100%',
					fieldLabel : "<span style='color:#F00'>*</span>是否可选",
					editable : false,
					autoLoad : true,
					allowBlank : false,
					hiddenName : 'isOptional',
					dictionaryType : PmsUtil.fixing_is_optional,
					listeners : {
						'select' : function(obj) {
							var optionalRange = Ext
									.getCmp('fixingForm_optionalRange');
							if (obj.value == '0') {
								optionalRange.getEl().up('.x-form-item')
										.setDisplayed(true);
								optionalRange.allowBlank = false;
							} else {
								optionalRange.getEl().up('.x-form-item')
										.setDisplayed(false);
								optionalRange.allowBlank = true;
								optionalRange.setValue("");
							}
						}
					}
				}, {
					id : 'fixingForm_optionalRange',
					xtype : 'numberfield',
					anchor : '100%',
					fieldLabel : "<span style='color:#F00'>*</span>最大范围",
					allowBlank : false,
					name : "optionalRange",
					allowDecimals : false,// 禁用小数
					allowNegative : false

				}, {
					xtype : 'numberfield',
					id : 'fixingForm_sort',
					anchor : '100%',
					fieldLabel : "<span style='color:#F00'>*</span>配件排序",
					allowBlank : false,
					allowNegative : false,
					enableKeyEvents : true,
					minValue : 1,
					name : "sort"
				}, {
					xtype : 'textarea',
					anchor : '100%',
					fieldLabel : "配件描述",
					allowBlank : true,
					name : "describes"
				}, {
					id : 'fixingForm_upload',
					fieldLabel : '导入图片',
					fieldLabel : "<span style='color:#F00'>*</span>导入图片",
					name : 'upload',
					xtype : 'fileuploadfield',
					buttonText : '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;浏览&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',
					blankText : "请选择您要导入的图片",
					width : 300,
					border : false,
					listeners : {
						'fileselected' : function(field, value) {
							var uploadImage = Ext.getCmp("fixingForm_upload");
							var img_reg = /\.([jJ][pP][gG]){1}$|\.([jJ][pP][eE][gG]){1}$|\.([gG][iI][fF]){1}$|\.([pP][nN][gG]){1}$|\.([bB][mM][pP]){1}$/;
							// 得到选择的图片路径
							var url = 'file://' + uploadImage.getValue();
							if (img_reg.test(url)) {
								var imageShow_box = Ext
										.getCmp("fixingForm_image"); // 预览的图片框对象
								if (Ext.isIE) {
									var imageShow_box_dom = imageShow_box
											.getEl().dom;
									imageShow_box_dom.src = Ext.BLANK_IMAGE_URL;// 覆盖原来的图片
									imageShow_box_dom.filters
											.item("DXImageTransform.Microsoft.AlphaImageLoader").src = url;
								}// 支持FF
								else {
									var f = document
											.getElementById("fixingForm_upload-file").files[0];
									Ext.get('fixingForm_image').dom.src = window.URL
											.createObjectURL(f);
								}
							} else {
								Ext.MessageBox.show({
											title : "错误提示",
											msg : "必须为图片格式",
											buttons : Ext.MessageBox.OK,
											icon : Ext.MessageBox.ERROR
										});
							}

						}
					}
				}, {
					xtype : 'box',
					fieldLabel : "预览图片",
					baseCls : "x-plain",
					id : 'fixingForm_image',
					autoEl : {
						width : 300,
						height : 200,
						tag : 'input',
						type : 'image',
						src : __ctxPath + "/images/monmonde.png",
						style : 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);width:160px;height:160px;text-align:center;',
						complete : 'off',
						onclick : 'clickHandler()'
					}
				}],
		buttons : [{
					id : 'auctionsResaleCommit',
					text : '确定',
					formBind : true,
					handler : function() {
						addOrUpdatFixing();
					}
				}, {
					text : "取消",
					handler : function() {
						addOrupdateFixingWindow.close();
					}
				}]
	});
	var addOrupdateFixingWindow = new Ext.Window({
				id : 'addOrUpdateFixingWindow',
				closeAction : 'close',
				title : title,
				closable : true,
				plain : true,
				modal : true,
				draggable : false, // 不可拖动
				resizable : false, // 不可调整
				width : 450,
				height : 520,
				buttonAlign : 'center',
				autoDestroy : true,
				layout : 'fit',
				items : [addOrUpdateFixingForm],
				listeners : {
					'show' : function() {
						selectFixingUpdateById(fixingId);
					},
					'beforeshow' : function() {
						addOrupdateFixingWindow.center();
					}
				}
			});
	return addOrupdateFixingWindow;

};
/**
 * 配件突变点击事件
 */
function clickHandler() {
	var imageShow_box = Ext.getCmp("fixingForm_image");
	var fixingPicPath = imageShow_box.getEl().dom.src;
	window.open(fixingPicPath, '_blank');
}
/**
 * 查询配件信息
 * 
 * @param {}
 *            fixingId
 */
function selectFixingUpdateById(fixingId) {
	if (fixingId != null && fixingId != "undefined") {
		var sort = Ext.getCmp('fixingForm_sort');
		sort.getEl().up('.x-form-item').setDisplayed(false);
		Ext.getCmp("addOrUpdateFixingForm").getForm().load({
			deferredRender : false,
			url : __ctxPath + "/fixingManager/queryFixingById",
			params : {
				fixingId : fixingId
			},
			waitTitle : "请稍候",
			waitMsg : "正在载入数据...",
			root : "data",
			success : function(response, options) {
				var data = options.result.data;
				// 设置配件单位
				if (data.fixingUnits != null) {
					var fixingUnits = Ext.getCmp("fixingForm_fixingUnitsCmb");
					fixingUnits.setValue(data.fixingUnits); // 隐藏的值
					fixingUnits.setRawValue(data.fixingUnits);// 显示的值

					// 设置是否可选
					var isOptional = Ext.getCmp("fixingForm_isOptionalCmb");
					isOptional.setRawValue(PmsUtil.IsOptional(data.isOptional));// 显示的值

					var optionalRange = Ext.getCmp('fixingForm_optionalRange');
					if (isOptional.getValue() == 0) {
						optionalRange.getEl().up('.x-form-item')
								.setDisplayed(true);
					} else {
						optionalRange.getEl().up('.x-form-item')
								.setDisplayed(false);
						optionalRange.allowBlank = true;
						optionalRange.setValue("");
					}

				}

				// 设置图片
				if (data.fixingPicture) {
					Ext.getCmp('fixingForm_image').getEl().dom.src = data.fixingPicture;
				}

				// 设置配件单位倍数
				if (data.fixingMultiple != null) {
					var fixingMultiple = Ext
							.getCmp("fixingForm_fixingMultiple");
					fixingMultiple.setValue(data.fixingMultiple);

				}

				// 设置配件类型
				if (data.fixingType != null) {
					var fixingType = Ext.getCmp("fixingForm_fixingType");
					fixingType.setValue(data.fixingType); // 隐藏的值
					fixingType.setRawValue(PmsUtil.FixingType(data.fixingType));// 显示的值

					if (data.fixingType == '1') {
						Ext.getCmp('fixngForm_fixingPrice').setDisabled(true);
					}
				}

			},
			failure : function(f, g) {
				Ext.MessageBox.show({
							title : "操作信息",
							msg : "数据加载失败!",
							buttons : Ext.MessageBox.OK,
							icon : Ext.MessageBox.ERROR
						});
			}
		});
	}
}
/**
 * 添加或修改配件信息
 */
function addOrUpdatFixing() {
	var fixingForm = Ext.getCmp("addOrUpdateFixingForm");
	var fixingId = Ext.getCmp("fixingForm_id").getValue();
	var uploadImage = Ext.getCmp("fixingForm_upload").getValue();
	if (fixingId == '' && uploadImage == '') {
		Ext.Msg.show({
					title : '提示信息',
					msg : '配件图片不能为空!',
					buttons : Ext.MessageBox.OK,
					icon : Ext.MessageBox.WARNING
				});
		return;
	}
	if (fixingForm.getForm().isValid()) {
		Ext.Msg.confirm("提示框", "确认要保存配件信息吗?", function(button) {
					if (button == "yes") {
						fixingForm.getForm().submit({
							url : __ctxPath
									+ '/fixingManager/addOrUpdateFixing',
							waitTitle : "请稍候",
							waitMsg : "正在提交表单，请稍候......",
							failure : function(response, options) {
								var jsonData = Ext.util.JSON
										.decode(options.response.responseText);
								Ext.MessageBox.show({
											title : "错误提示",
											msg : jsonData.data,
											buttons : Ext.MessageBox.OK,
											icon : Ext.MessageBox.ERROR
										});
							},
							success : function(response, options) {
								var jsonData = Ext.util.JSON
										.decode(options.response.responseText);
								Ext.MessageBox.show({
											title : "信息提示",
											msg : jsonData.data,
											buttons : Ext.MessageBox.OK,
											icon : Ext.MessageBox.INFO
										});
								Ext.getCmp("addOrUpdateFixingWindow").close();
								var gridPanel = Ext.getCmp('fixingManagerGrid');
								if (typeof(gridPanel) != 'undefined') {
									gridPanel.store.reload();
								}
							}
						});
					}
				});
	}
}